home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / CPP / WFC010.ZIP / INCLUDE / CNETCONN.HPP < prev    next >
C/C++ Source or Header  |  1995-12-07  |  3KB  |  115 lines

  1. #if ! defined( NETWORK_CONNECTION_CLASS_HEADER )
  2.  
  3. /*
  4. ** Author: Samuel R. Blackburn
  5. ** CI$: 76300,326
  6. ** Internet: sammy@sed.csc.com
  7. **
  8. ** You can use it any way you like as long as you don't try to sell it.
  9. **
  10. ** Any attempt to sell WFC in source code form must have the permission
  11. ** of the original author. You can produce commercial executables with
  12. ** WFC but you can't sell WFC.
  13. **
  14. ** Copyright, 1995, Samuel R. Blackburn
  15. **
  16. ** $Workfile: $
  17. ** $Revision: $
  18. ** $Modtime: $
  19. */
  20.  
  21. #define NETWORK_CONNECTION_CLASS_HEADER
  22.  
  23. class CNetworkConnectionInformation : public CObject
  24. {
  25.    DECLARE_SERIAL( CNetworkConnectionInformation )
  26.  
  27.    private:
  28.  
  29.       void m_Initialize( void );
  30.  
  31.    public:
  32.  
  33.       CNetworkConnectionInformation();
  34.  
  35.       /*
  36.       ** Can't make Copy take a const pointer because Microsoft screwed up the 
  37.       ** net API header files...
  38.       */
  39.  
  40.       CNetworkConnectionInformation( CONNECTION_INFO_1 *information_p );
  41.       CNetworkConnectionInformation( const CNetworkConnectionInformation& source );
  42.       virtual ~CNetworkConnectionInformation();
  43.  
  44.       DWORD   ID;
  45.       DWORD   Type;
  46.       DWORD   NumberOfUsers;
  47.       DWORD   NumberOfOpens;
  48.       DWORD   Time;
  49.       CString UserName;
  50.       CString NetName;
  51.  
  52.       /*
  53.       ** Can't make Copy take a const pointer because Microsoft screwed up the 
  54.       ** net API header files...
  55.       */
  56.  
  57.       virtual void Copy( CONNECTION_INFO_1 *source );
  58.       virtual void Copy( const CNetworkConnectionInformation& source );
  59.       virtual void Empty( void );
  60.       virtual void Serialize( CArchive& archive );
  61.  
  62.       virtual const CNetworkConnectionInformation& operator=( const CNetworkConnectionInformation& source );
  63.  
  64. #if defined( _DEBUG )
  65.  
  66.       virtual void Dump( CDumpContext& dump_context ) const;
  67.  
  68. #endif // _DEBUG
  69. };
  70.  
  71. class CNetworkConnections : public CNetwork
  72. {
  73.    DECLARE_SERIAL( CNetworkConnections )
  74.  
  75.    private:
  76.  
  77.       void m_Initialize( void );
  78.  
  79.    protected:
  80.  
  81.       /*
  82.       ** Connection information variables
  83.       */
  84.  
  85.       CONNECTION_INFO_1 *m_1InformationBuffer;
  86.  
  87.       /*
  88.       ** File Information enumeration variables
  89.       */
  90.  
  91.       DWORD m_1ResumeHandle;
  92.       DWORD m_1CurrentEntryNumber;
  93.       DWORD m_1NumberOfEntriesRead;
  94.       DWORD m_1TotalNumberOfEntries;
  95.  
  96.    public:
  97.  
  98.       CNetworkConnections();
  99.       CNetworkConnections( LPCTSTR machine_name );
  100.       virtual ~CNetworkConnections();
  101.  
  102.       virtual void  Close( void );
  103.       virtual BOOL  Enumerate( LPCTSTR share_or_computer_name );
  104.       virtual BOOL  GetNext( CNetworkConnectionInformation& information );
  105.       virtual void  Serialize( CArchive& archive );
  106.  
  107. #if defined( _DEBUG )
  108.  
  109.       virtual void Dump( CDumpContext& dump_context ) const;
  110.  
  111. #endif // _DEBUG
  112. };
  113.  
  114. #endif // NETWORK_CONNECTION_CLASS_HEADER
  115.